vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


Tag A



Perl-Funktionen

Dieser Anhang enthält eine kurze alphabetisch geordnete Referenz der vordefinierten Perl-Funktionen. Wenn Sie eine Funktion suchen, die es nicht gibt, verzagen Sie nicht. Ihre Chancen stehen trotzdem gut, dass irgend jemand ein Modul geschrieben hat, das eine Funktion, wie Sie sie benötigen, enthält. Eine Liste der wichtigsten verfügbaren Perl-Module finden Sie in Anhang B.

Beachten Sie, dass nicht alle Funktionen, die in diesem Anhang aufgeführt sind, von allen Perl-Versionen unterstützt werden. Dem Kapitel 18, »Perl und das Betriebssystem«, können Sie entnehmen, welche Funktionen für Windows- oder Macintosh-Rechner nicht zur Verfügung stehen. Als ultimative Referenz sollten Sie die Dokumentation zu Ihrem Perl-Port zu Rate ziehen.

Wo Sie weitere Informationen finden

Weitere Informationen zu den jeweiligen Funktionen finden Sie in der perlfunc- Manpage. Wie alle Perl-Dokumentationen können Sie diese Manpage unter Unix mit dem Befehl man, unter Unix und Windows mit dem Befehl perldoc (perldoc perlfunc zeigt die ganze Liste und perldoc -f die einzelnen Funktionen) und auf dem Mac mit der Shuck-Anwendung aufrufen.

Die gesamte Perl-Dokumentation ist auch über das Web unter http://www.perl.com/ CPAN-local/doc/manual/html/pod/ abrufbar.

Neben den Perl-spezifischen Manpages verweist dieser Anhang auch häufig auf andere Unix-Manpages (vornehmlich deshalb, weil Perl oft von Unix-Features Gebrauch macht). Die Unix-Manpages sind in numerierten Kapiteln zusammengefaßt. Wenn Sie auf ein Element stoßen, hinter dem eine Zahl in Klammern steht, weist diese Zahl darauf, dass dieses Element in dem entsprechenden Kapitel der Manpages beschrieben ist. So finden Sie zum Beispiel fseek(2) in Kapitel 2 des Unix- Handbuches. Um die Funktion fseek in Kapitel 2 nachzuschlagen, würden Sie also folgenden Unix-Befehl eingeben:

man 2 fseek

Auf manchen Systemen lautet der Befehl ein wenig anders:

man -s 2 fseek

Der Befehl man man zeigt Ihnen Hilfe zu dem Befehl man an.

Die Perl-Funktionen in alphabetischer Reihenfolge

Hier finden Sie die Perl-Funktionen in alphabetischer Reihenfolge.

abs

abs WERT

Liefert den absoluten Wert von WERT zurück. WERT kann eine Zahl (wie -7) oder ein Ausdruck sein.

accept

accept NEUERSOCKET, GENERISCHERSOCKET

accept wird verwendet, um eine einkommende Socket-Verbindung anzunehmen. Wenn eine Verbindung hergestellt wurde, wird die gepackte Adresse zurückgeliefert. Andernfalls lautet der Rückgabewert falsch. Entspricht dem Systemaufruf accept(2).

alarm

alarm SEKUNDEN

Die alarm-Funktion sendet ein SIGALRM an das Programm, nachdem die in SEKUNDEN spezifizierten Sekunden verstrichen sind. Es kann nur ein Alarm aktiv sein. Wenn Sie diese Funktion aufrufen, während noch ein anderer Alarm läuft, wird der laufende Alarm durch den aktuelleren Aufruf ersetzt. Wenn Sie die Funktion mit dem Argument 0 aufrufen, wird der aktuelle Alarm unterbrochen, ohne dass ein neuer gestartet wird. Wird für SEKUNDEN keine Zahl angegeben, wird der Wert in $_ verwendet.

atan2

atan2 Y, X

Liefert den Arkustangens von X/Y in dem Bereich von -p bis p zurück. Weitere Funktionen für die Tangensoperationen gibt es in den Modulen POSIX und Math::Trig.

bind

bind SOCKET, NAME

Die Funktion bind bindet eine Netzwerkadresse an einen Socket. NAME sollte dabei die gepackte Adresse für verwendete Art von Socket enthalten. Ist die Funktion bind erfolgreich, wird wahr zurückgeliefert, andernfalls falsch. Entspricht dem Systemaufruf bind.

binmode

binmode DATEIHANDLE

binmode übernimmt als Argument ein Datei-Handle und gibt an, dass die Daten im Binärformat (und nicht im ASCII-Format) in das Datei-Handle geschrieben (beziehungsweise daraus gelesen) werden sollen. Unter Unix hat diese Funktion keine Auswirkung, aber für MS-DOS und andere archaische Plattformen ist sie wichtig. Die Funktion sollte nach dem Öffnen einer Datei und vor irgendwelchen Eingabe-/ Ausgabeoperationen auf diese Datei aufgerufen werden.

bless

bless REFERENZ, KLASSENNAME

bless wird in der objektorientierten Perl-Programmierung verwendet, um das, was mit REFERENZ referenziert wird, dem Paket KLASSENNAME zuzuweisen. Wird KLASSENNAME fortgelassen, wird REFERENZ dem aktuellen Paket zugewiesen. bless liefert die Referenz zurück, die mit bless zugewiesen wird. Detailliertere Informationen finden Sie in der perlobj-Manpage.

caller

caller AUSDRUCK 
caller

caller liefert den Kontext des aktuellen Subroutinenaufrufs zurück. In einem skalaren Kontext liefert caller den Namen des Pakets, aus dem die Subroutine aufgerufen wurde, in einem Listenkontext liefert sie den Paketnamen, den Dateinamen des Programms und die Zeilennummer des Aufrufs. Wenn ein AUSDRUCK mit angegeben wird, liefert caller zusätzliche Informationen zur Verfolgung des Stacks. AUSDRUCK gibt an, um wie viele Aufruf-Frames der Stack, ausgehend vom aktuellen Frame, zurückgegangen werden muss. Wird AUSDRUCK angegeben, wird die folgende Liste an Werten zurückgegeben:

($package, $file, $line, $subname, $hasargs, $wantarray) = caller(bel_funk);

chdir

chdir AUSDRUCK

chdir übernimmt einen Ausdruck als Argument und versucht, das aktuelle Verzeichnis auf das im Ausdruck angegebene Verzeichnis zu setzen. Wird kein Argument mitgeliefert, versucht die Funktion, in das Home-Verzeichnis des aktuellen Benutzers zu wechseln.

chmod

chmod LISTE

chmod dient dazu, die Zugriffsberechtigungen für die im Argument LISTE aufgeführten Dateien zu ändern. Das erste Element in LISTE muss - in Oktalnotation - der numerische Modus für die Dateien sein. Er sollte auch das SUID-Bit mit einschließen. Sehen Sie hier ein Beispiel für die Anwendung von chmod:

chmod 0755, @dateien;

Beachten Sie, dass das erste Element der Liste nicht in Anführungszeichen steht. Es ist einfach nur eine Zahl. Weitere Informationen zu den Datei-Zugriffsrechten finden Sie in der chmod-Manpage.

chomp

chomp VARIABLE
chomp LISTE
chomp

chomp ist die sichere Version von chop, die als nächstes beschrieben wird. Die Funktion entfernt alle Zeilenenden, die mit $/ übereinstimmen (die Variable, die das Eingabedatensatz-Trennzeichen, normalerweise ein Neue-Zeile-Zeichen, enthält). Wenn diese Funktion im Absatzmodus aufgerufen wird, werden alle angehängten Neue-Zeile-Zeichen aus dem String entfernt.

chop

chop VARIABLE
chop LISTE
chop

chop wird verwendet, um das letzte Zeichen in einem String zu entfernen. Ihre ursprüngliche Aufgabe bestand darin, das Zeilenvorschubzeichen am Ende einer Zeile möglichst problemlos zu entfernen (wenn Sie eine Datei Zeile für Zeile bearbeiten, ist es oft sinnvoll, das Zeilenvorschubzeichen aus den Zeilen zu entfernen, bevor Sie mit der Arbeit beginnen). Das Problem mit chop ist, dass die Funktion jedes letzte Zeichen vom String entfernt. Ist das letzte Zeichen ein Zeilenvorschubzeichen - wunderbar. Aber wenn nicht, verlieren Sie das letzte Zeichen, das durchaus eine Bedeutung haben kann.

while (<EINGABEDATEI>) {
# Beachten Sie, dass in diesem Beispiel $_ als Argument für die
# chop-Funktion verwendet wird.
chop;
push (@names);
}

Wird chop ohne Argument verwendet, wird das letzte Zeichen von $_ entfernt. Wird eine Liste übergeben, wird aus allen Elementen der Liste das jeweils letzte Zeichen entfernt.

chown

chown LISTE

chown wird verwendet, um die Besitzrechte der Dateien, die in LISTE stehen, für Benutzer und Gruppe zu setzen. Zurückgeliefert wird die Anzahl der Dateien, für die die Besitzrechte erfolgreich geändert wurden. Die ersten beiden Elemente von LISTE müssen die numerische UID und GID des Benutzers und der Gruppe sein, die Besitzer der Dateien werden. Normalerweise kann nur der root-Benutzer die Besitzrechte von Dateien in einem System ändern.

chr

chr ZAHL

Die Funktion chr liefert das Zeichen aus der ASCII-Tabelle zurück, das dem Zahlencode entspricht, der der Funktion übergeben wurde. So liefert zum Beispiel chr(80) ein R zurück. Mit der Funktion pack können mehrere Zeichen gleichzeitig konvertiert werden.

chroot

chroot VERZEICHNISNAME

Die Funktion chroot ist identisch mit dem gleichnamigen Systemaufruf (Details sind der Manpage chroot(2) zu entnehmen). Im wesentlichen teilt chroot dem gerade ausführenden Programm sowie allen exec-Aufrufen und Subprozessen mit, dass das in VERZEICHNISNAME angegebene Verzeichnis als neues Root-Verzeichnis zu verwenden ist. Pfade, die mit / anfangen, beginnen danach mit dem Verzeichnis VERZEICHNISNAME und nicht mehr mit dem eigentlichen Root-Verzeichnis des Dateisystems. Nur der root-Benutzer kann die Funktion chroot verwenden.

close

close DATEIHANDLE

Die Funktion close wird verwendet, um ein zuvor geöffnetes Datei-Handle zu schließen (unabhängig davon, ob es sich um eine Datei oder eine Pipe handelt). Sie führt die notwendigen Aufräumarbeiten auf der Systemebene durch und liefert wahr zurück, wenn alle Operationen erfolgreich waren. Beachten Sie, dass alle Datei- Handle automatisch geschlossen werden, wenn ein Perl-Programm beendet wird, so dass Sie oft davonkommen, ohne explizit alle Datei-Handle zu schließen, die Sie geöffnet haben.

closedir

closedir VERZEICHNISHANDLE

closedir schließt ein Verzeichnis, das mit der Funktion opendir geöffnet wurde.

connect

connect SOCKET, NAME

connect versucht, eine Verbindung zu einem entfernten Socket herzustellen. NAME sollte die gepackte Adresse entsprechend dem Typ des Sockets enthalten. Die Funktion liefert wahr zurück, wenn sie erfolgreich war, im anderen Fall falsch. Diese Funktion ist identisch mit dem Systemaufruf connect.

cos

cos AUSDRUCK

Liefert den Kosinus von AUSDRUCK zurück. Für die inverse Kosinusoperation sollten Sie die Funktion POSIX::acos() oder das Modul Math::Trig verwenden.

crypt

crypt NORMALERTEXT, WERT

Die crypt-Funktion wird dazu verwendet, um Strings auf die gleiche Weise zu verschlüsseln, wie Paßwörter in einer Unix-Paßwortdatei gespeichert werden. Die Funktion übernimmt zwei Argumente: den String, der verschlüsselt werden soll, und einen Wert, mit dem der Verschlüsselungsalgorithmus initialisiert wird. Die crypt- Funktion ist eine Einbahnstraße: Es ist keine Methode bekannt, mit der man Text, der mit crypt verschlüsselt wurde, wieder entschlüsseln kann (Unix testet Paßwörter, indem crypt auf die vom Benutzer eingegebenen Paßwörter angewendet und das Ergebnis dann mit den verschlüsselten Paßwörtern in /etc/passwd verglichen wird).

dbmclose

dbmclose HASH

dbmclose löst die Bindung zwischen einem HASH und der DBM-Datei, mir der er verbunden ist. Diese Funktion wurde inzwischen durch die Funktion untie ersetzt.

dbmopen

dbmopen HASH, DBNAME, MODUS

dbmopen bindet eine dbm, ndbm, sdbm, gdmb oder Berkeley-DB-Datei an einen Hash. HASH ist der Name der Hash-Variablen, an die die Datenbank gebunden wird, und DBNAME der Name der Datenbankdatei ohne die Extension. Wenn DBNAME nicht angegeben wird, wird eine neue Datei erzeugt, deren Zugriffsberechtigungen durch MODUS spezifiziert werden.

Diese Funktion wurde inzwischen durch tie abgelöst.

defined

defined AUSDRUCK

defined wird verwendet, um Ausdrücke zu identifizieren, die den undefinierten Wert (im Gegensatz zu 0, Neue Zeile oder einen anderen leeren Rückgabewert) zurückliefern. Mit Hilfe der Funktion kann man festzustellen, ob eine Subroutine existiert oder eine Skalarvariable definiert wurde. Wenn kein AUSDRUCK übergeben wird, prüft defined, ob $_ undefiniert ist.

delete

delete AUSDRUCK

Die delete-Funktion wird verwendet, um Elemente aus einem Hash zu entfernen. Dabei gehen Sie so vor, dass Sie der Funktion einfach den Namen des Hash und den Schlüssel, der entfernt werden soll, übergeben. Sehen Sie dazu folgendes Beispiel:

delete $hash{$key};

Da Sie nur ein einziges Element im Hash löschen wollen, referenzieren Sie die Hash- Variable im skalaren Kontext (mit $).

die

die LISTE

die übernimmt eine Liste als Argument. Wenn die aufgerufen wird, wird das Programm beendet, der Wert von $! zurückgeliefert und die als Argument an die übergebene Liste auf die Standardfehlerausgabe geschickt. Wenn die Liste nicht mit einem Neue-Zeile-Zeichen endet, werden der Name des Programms und die Zeilennummer der Zeile, bei der die Ausführung unterbrochen wurde, zusammen mit einem Neue-Zeile-Zeichen an die Ausgabe der Funktion angehängt.

Hier ein Beispiel:

open (FILE, $datei) or die "$datei kann nicht geöffnet werden";

Wenn $datei nicht geöffnet werden kann, erzeugt diese Zeile folgende Ausgabe:

/tmp/datei kann nicht geöffnet werden at test_program line 13.

do

do BLOCK
do SUBROUTINE(LISTE)
do AUSDRUCK

Wenn diese Funktion mit einem Codeblock in BLOCK aufgerufen wird, führt do die Anweisungen in dem Block aus und liefert den Wert der letzten Anweisung in dem Block zurück. Wenn do zusammen mit einem Schleifenausdruck verwendet wird, wird BLOCK ausgeführt, bevor die Schleifenbedingung das erste Mal getestet wird.

do SUBROUTINE ist eine veraltete Methode, um eine Subroutine aufzurufen, und do AUSDRUCK stellt eine Möglichkeit dar, Code in einer anderen Datei auszuführen. AUSDRUCK wird in diesem Falle als der Dateiname einer Perl-Datei interpretiert, deren Inhalt ausgeführt wird. Auch wenn sich do auf diese Weise einsetzen läßt, sollten Sie trotzdem auf require und use ausweichen, die robuster sind.

dump

dump LABEL

Mit dump bewirken Sie, dass Perl einen Speicherauszug (dump) des Programms ausgibt. Anschließend können Sie mit dem undump-Programm eine binäre Datei erzeugen, die die Ausführung mit einem goto LABEL-Befehl beginnt.

each

each HASH

Die each-Funktion wird verwendet, um Werte für die Verarbeitung in einer Schleife aus einem Hash herauszuholen. Sie verhält sich je nach Kontext (skalar oder Liste) unterschiedlich.

Im skalaren Kontext liefert die each-Funktion den Schlüssel für das nächste Element im Hash zurück. Sie läßt sich daher folgendermaßen anwenden:

while ($key = each %hash) {
$hash{$key}++;
}

Im anderen Falle, das heißt in einem Listenkontext, liefert die each-Funktion eine zweielementige Liste, die den Schlüssel und den Wert für das nächste Element im Hash enthält. Das sieht dann wie folgt aus:

while (($key, $value) = each %hash) {
print "$key = $value\n";
}

eof

eof DATEIHANDLE 
eof ()
eof

Die eof-Funktion liefert 1 zurück, wenn beim nächsten Lesen aus DATEIHANDLE die Dateiendemarke zurückgeliefert wird oder DATEIHANDLE nicht geöffnet ist. Ohne Argument wertet eof die zuletzt gelesene Datei aus. Erfolgt der Aufruf mit leeren Klammern als Argument, erkennt eof das Ende einer Pseudodatei, die aus all den Dateien besteht, die auf der Befehlszeile angegeben wurden. In der perlfunc- Manpage wird klugerweise darauf hingewiesen, dass eof selten verwendet wird, da Perl automatisch den undefinierten Wert zurückliefert, wenn das Ende einer Datei erreicht ist - so dass das Dateiende auch bequem ohne diese Funktion entdeckt werden kann.

eval

eval AUSDRUCK

eval wird verwendet, um einen Ausdruck oder einen Codeblock auszuführen, als ob es sich um ein eigenständiges Perl-Programm handelte. Es wird im Kontext des gerade laufenden Perl-Programms ausgeführt, so dass alle Variablen und anderen persis-tenten Werte des übergeordneten Programms weiter definiert sind, wenn die Ausführung des Ausdrucks mit eval beendet ist.

Der von eval zurückgelieferte Wert ist der Wert des zuletzt ausgewerteten Ausdrucks. Um explizit einen bestimmten Wert zurückzuliefern, können Sie innerhalb von eval eine return-Anweisung verwenden. Wenn innerhalb der eval-Anweisung ein Syntax- oder ein Laufzeitfehler auftritt oder eine die-Anweisung ausgeführt wird, liefert die eval-Anweisung einen undefinierten Wert zurück, und die Variablen $@ enthält die Fehlermeldung.

Da fatale Fehler, die innerhalb von eval-Anweisungen auftreten, die Ausführung des übergeordneten Programms nicht anhalten, kann die Funktion genutzt werden, um Fehler abzufangen oder schwer kalkulierbaren Code auszutesten.

exec

exec LISTE

Die exec-Funktion führt einen Systembefehl aus und hat keinen Rückgabewert, es sei denn der Befehl existiert nicht. Wenn LISTE aus mehr als einem Element besteht, verwendet exec den Systemaufruf execvp(3) mit den Argumenten in LISTE. Wenn das Argument aus einem einzigen skalaren Wert besteht, wird das Argument auf Shell-Metazeichen geprüft. Wenn Shell-Metazeichen gefunden werden, wird das Argument durch /bin/sh -c ausgeführt; andernfalls wird das Argument in Wörter zerlegt und an execvp übergeben.

exists

exists AUSDRUCK

Die exists-Funktion wird verwendet, um zu prüfen, ob ein bestimmter Schlüssel in einem Hash definiert ist. exists prüft nicht, ob es zu dem Schlüssel auch einen Wert gibt; es wird ausschließlich zum Prüfen auf Schlüssel verwendet. Sehen Sie zur Veranschaulichung ein Beispiel:

if (exists $hash{$key}) { print "Ja."; }
else { print "Nein.\n"; }

exit

exit AUSDRUCK

Die exit-Funktion wertet AUSDRUCK aus und bricht das Programm sofort ab. Normalerweise ist die die sauberere Lösung, um die Ausführung eines Programms abzubrechen, da die zurückgelieferten Fehlerinformationen abgefangen werden können.

exp

exp AUSDRUCK

Liefert den Wert e hoch AUSDRUCK zurück. Wenn exp ohne AUSDRUCK aufgerufen wird, wird standardmäßig exp($). Für normale Exponenten verwenden Sie den Operator **.

fcntl

fcntl DATEIHANDLE, FUNKTION, SKALAR

Wird verwendet, um den Systemaufruf fcntl(2) zu emulieren. Mit use fcntl; erhalten Sie die Funktionsdefinitionen, die Sie benötigen, um diese Funktion zu nutzen. In der Manpage finden Sie weitere Informationen zu der Funktion. fcntl liefert einen fatalen Fehler zurück, wenn sie auf der Plattform, auf der sie ausgeführt wird, nicht implementiert ist.

fileno

fileno DATEIHANDLE

fileno liefert einen Dateideskriptor für einen gegebenen Datei-Handle zurück. Ein Dateideskriptor ist ein kleiner Integerwert, der die Datei identifiziert. Er kann für die Konstruktion von Bitmaps für die Verwendung mit select genutzt werden. Wenn DATEIHANDLE nicht geöffnet ist, wird undefined zurückgeliefert.

flock

flock DATEIHANDLE, OPERATION

Diese Funktion ruft den Systembefehl flock(2) für DATEIHANDLE auf. Weitere Informationen zu den verfügbaren Operationen finden Sie in der Manpage zu flock(2). Auf Systemen, die flock(2) oder Mechanismen zum Sperren von Dateien nicht unterstützen, erhalten Sie einen fatalen Fehler.

fork

fork

fork wird verwendet, um einen Systemaufruf in einen getrennten Prozeß zu verzweigen. fork liefert die Kind-PID an den übergeordneten Prozeß zurück. Diese Funktion ist nur auf Unix-ähnlichen Plattformen implementiert. Der gesamte Code in dem Block wird in einem neuen Prozeß ausgeführt.

format

format

Die format-Funktion wurde entworfen, um COBOL-Programmierern das Erlernen von Perl zu erleichtern. Genau genommen bietet es Ihnen eine Methode, um Schablonen für die formatierte Ausgabe zu erzeugen. In der perlform-Manpage können Sie detailliert nachlesen, wie Sie mit format eine Ausgabe erzeugen.

formline

formline BILD, LISTE

Die Funktion formline wird intern von den Formaten verwendet. Sie wird verwendet, um das Argument LISTE analog zu BILD zu formatieren. Weitere Informationen entnehmen Sie bitte der Manpage perlform.

getc

getc DATEIHANDLE

getc liefert das nächste Zeichen aus DATEIHANDLE zurück. Wird das Argument DATEIHANDLE weggelassen, liefert getc das nächste Zeichen aus STDIN. getc erlaubt keine ungepufferte Eingabe (mit anderen Worten, wenn STDIN die Konsole ist, dann erhält getc das Zeichen erst, wenn der Puffer mit einem Neue-Zeile-Zeichen geleert wurde).

getlogin

getlogin

Liefert die aktuelle Login-Information aus /etc/utmp zurück, falls vorhanden. Falls der Wert Null lautet, sollten Sie getpwuid() verwenden.

getpeername

getpeername SOCKET

getpeername liefert die gepackte sockaddr-Adresse des anderen Endes der SOCKET- Verbindung zurück.

getpgrp

getpgrp PID

getpgrp liefert die Prozeßgruppe für den spezifizierten Prozeß zurück. Wird als PID 0 angegeben, wird die Prozeßgruppe des aktuellen Prozesses zurückgeliefert.

getppid

getppid

getppid liefert die Prozess-ID für den Elternprozeß des aktuellen Prozesses zurück.

getpriority

getpriority WELCHE, WER

Unter der Voraussetzung, dass getpriority auf Ihrem System implementiert ist, liefert diese Funktion die Priorität für einen Prozeß, eine Prozeßgruppe oder einen Benutzer zurück.

getsockname

getsockname SOCKET

getsockname liefert die gepackte sockaddr-Adresse dieses Endes der SOCKET- Verbindung zurück.

getsockopt

getsockopt SOCKET, LEVEL, OPTNAME

getsockopt liefert die angeforderte Option zurück oder im Falle eines Fehlers undefined.

glob

glob AUSDRUCK

Die glob-Funktion liefert den Wert von AUSDRUCK mit Dateinamenerweiterungen zurück, wie sie auch unter einer Shell vorkommen könnten. Wird AUSDRUCK weggelassen, wird als Argument $_ verwendet.

gmtime

gmtime AUSDRUCK

gmtime konvertiert eine Zeitangabe in dem von der time-Funktion zurückgelieferten Zeitformat (Sekunden seit 1. Jan. 1970, 00:00) in die Greenwich-Standardzeit (auch bekannt als Greenwich Mean Time). Diese Zeitangabe wird als eine Liste mit neun Elementen zurückgeliefert. Die Inhalte der Elemente können Sie diesem Beispiel entnehmen:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);

Beachten Sie, dass alle diese Elemente im numerischen Format zurückgegeben werden und die aufeinanderfolgenden Zahlen (wie Monate und Tage der Woche) statt mit einer 1 mit einer 0 beginnen. Das bedeutet, dass Monate von 0 bis 11 zählen. Das zurückgelieferte Jahr ist die Zahl des Jahres seit 1900 und nicht einfach nur die letzten zwei Stellen. Damit wird das so gefürchtete Jahr-2000-Problem vermieden. Wenn Sie gmtime in einem skalaren Kontext verwenden, liefert die Funktion die Zeit im ctime(3)-Format zurück:

Sat Jun  6 01:56:44 1998

goto

goto LABEL
goto AUSDRUCK
goto &NAME

Die goto-Funktion sucht die mit LABEL benannte Anweisung und fährt ab dort mit der Ausführung fort. Sie kann die Ausführung nicht mit Anweisungen fortsetzen, die sich in Blocks befinden und initialisiert werden müssen (zum Beispiel Subroutinen oder foreach-Schleifen). Es gibt noch zwei weitere Anwendungsbereiche für goto, die jedoch ziemlich veraltet sind. goto AUSDRUCK wird verwendet, um zu einer Marke (Label) zu springen, die mit AUSDRUCK angegeben wird, wobei der Gültigkeitsbereich dynamisch ist. goto &NAME ersetzt die aktuell laufende Subroutine durch einen Aufruf der benannten Subroutine, als ob diese zuerst aufgerufen worden wäre.

grep

grep AUSDRUCK, LISTE
grep BLOCK LISTE

Die grep-Funktion dient dazu, Listen zu durchsuchen und alle Elemente in der Liste zurückzuliefern, die einem bestimmten Muster entsprechen. grep übernimmt zwei Argumente: einen Ausdruck und eine Liste. Es liefert eine neue Liste zurück, die all die Elemente enthält, für den der Ausdruck wahr ist. Betrachten wir ein Beispiel:

@neuesarray = grep /rot/, @altesarray;

@neuesarray enthält in diesem Beispiel eine Liste der Elemente aus @altesarray, die den String rot enthalten. Wenn Sie grep in einem skalaren Kontext aufrufen, wird statt der Liste der Elemente die Anzahl der übereinstimmenden Elemente zurückgeliefert.

hex

hex AUSDRUCK

hex liest AUSDRUCK als einen hexadezimalen String und liefert den Dezimalwert zurück. Wird AUSDRUCK fortgelassen, liest die Funktion $_.

import

import KLASSENNAME LISTE 
import KLASSENNAME

import ist keine vordefinierte Funktion. Sie wird vielmehr von Modulen implementiert, die Namen in andere Module exportieren wollen. Die import-Funktion wird von der use-Funktion aufgerufen, wenn ein Modul in ein Perl-Programm geladen wird.

index

index STR, SUBSTR, POSITION
index STR, SUBSTR

index wird verwendet, um einen Teilstring in einem größeren String zu lokalisieren. Die Funktion übernimmt drei Argumente, von denen eines optional ist. Bei den Argumenten handelt es sich um den String, der durchsucht werden soll, den gesuchten Teilstring und die Position, ab der die Suche beginnen soll (optional). index liefert die Position im String zurück, an der der Teilstring das erste Mal beginnt. Um zum Beispiel den String bar in dem größeren String verwundbar zu finden, könnten Sie den folgenden Code verwenden: index ('verwundbar', 'bar');. Um das zweite Vorkommen von sein in dem String Sein oder Nichtsein zu suchen, könnten Sie optional das dritte Argument verwenden, um die Suche bei Position 4 zu starten: index ('Sein oder Nichtsein ', 'sein', 4);.

int

int AUSDRUCK

int liefert den Integeranteil eines Strings zurück. Wenn beispielsweise ein String mit einem Integer beginnt, wie 60 kmh, wird int diesen Integer, in unserem Beispiel 60, zurückliefern. Strings, die nicht mit einem Integer beginnen, liefern 0 zurück. Wenn Sie die Perl-Warnungen aktiviert haben, erhalten Sie für jeden String, der nicht mit einer Zahl beginnt, eine Warnung.

ioctl

ioctl DATEIHANDLE, FUNKTION, SKALAR

ioctl wird dazu verwendet, den Systemaufruf ioctl(2) zu implementieren. Sie werden wahrscheinlich

require "ioctl.ph";

aufrufen müssen, bevor Sie die Funktionsdefinitionen für ioctl importieren können. Wenn die Funktion nicht existiert, werden Sie auf der Basis der Systemdatei ioctl.h Ihre eigenen Funktionsdefinitionen erzeugen müssen.

join

join AUSDRUCK, LISTE

Die join-Funktion ist das Gegenstück zu split. Sie wird benötigt, um die Elemente einer Liste in einem einzigen String zusammenzufassen. Sie übernimmt zwei Argumente: einen Ausdruck und eine Liste. Der Inhalt des Ausdrucks wird als Begrenzer zwischen den Elementen im zurückgelieferten String verwendet.

keys

keys HASH

Die keys-Funktion liefert ein Array zurück, das alle Schlüssel des in HASH angegebenen Hash enthält. Diese Funktion wird häufig verwendet, um die Schlüssel in einem Hash zu sortieren, bevor man eine Schleife darüber laufen läßt. Hier ein typisches Beispiel:

foreach $key (sort (keys %hash)) {
print $key, " = ", $value, "\n";
}

kill

kill LISTE

kill dient eigentlich dazu, ein Signal an eine Liste von Prozessen zu senden, anstatt diese einfach abzuwürgen. Das erste Argument in LISTE muss das zu sendende Signal sein, der Rest sollten die Prozesse sein, die das Signal erhalten sollen. Um Prozesse zu beenden, würden Sie folgenden Code verwenden:

kill 1, 100, 102, 110;

Um die gleichen Prozesse mit größerer Entschlossenheit zu beenden, würden Sie schreiben:

kill 9, 100, 102, 110;

Sie können anstatt einer Signalzahl auch den Signalnamen angeben, der dann allerdings in Anführungszeichen stehen muss. Weitere Informationen zu den Signalen finden Sie in der Manpage signal(5).

last

last LABEL 
last

Der last-Befehl veranlaßt das direkte Verlassen der in LABEL angegebenen Schleife. Wird kein Wert für LABEL angegeben, wird die innerste Schleife verlassen.

lc

lc AUSDRUCK

Die lc-Funktion konvertiert alle alphabetischen Zeichen in einem String in Kleinbuchstaben. lc 'ABC'; liefert demnach abc zurück. Wird kein AUSDRUCK angegeben, wird die lc-Funktion auf $_ angewendet.

lcfirst

lcfirst AUSDRUCK

Liefert den Wert in AUSDRUCK zurück, nachdem das erste Zeichen in einen Kleinbuchstaben verwandelt wurde. Wird kein AUSDRUCK angegeben, wird die Funktion auf $_ angewendet.

length

length AUSDRUCK

length übernimmt einen String als Argument und liefert einen Integer zurück, der die Länge des Strings in Bytes angibt. So liefert zum Beispiel length("Hund") den Wert 4 zurück. Wenn AUSDRUCK nicht angegeben wird, wird die Funktion $_ angewendet.

link

link ALTEDATEI, NEUEDATEI

Erzeugt einen harten (anstelle eines symbolischen) Links von ALTEDATEI zu NEUEDATEI. Zur Erzeugung eines symbolischen Links müssen Sie sich der Funktion symlink bedienen.

listen

listen SOCKET, WARTESCHLANGENGROESSE

Die listen-Funktion in Perl erfüllt die gleiche Funktion wie der Systemaufruf listen. Sie liefert im Erfolgsfall wahr zurück und ansonsten falsch.

local

local AUSDRUCK

local gibt an, dass die aufgelisteten Variablen lokal zu dem gerade ausgeführten Block, der Schleife, Subroutine, eval {} oder do sind. Wenn man local mehr als eine Variable übergeben möchte, sollte man diese in Klammern setzen. Um den Gültigkeitsbereich einer Variablen zu begrenzen, ist es meist besser, my zu verwenden.

localtime

localtime AUSDRUCK

Die Funktion localtime ist identisch mit der Funktion gmtime, nur dass sie die Zeit in die lokale Zeitzone und nicht in die Greenwich-Zeit konvertiert.

log

log AUSDRUCK

Liefert den Logarithmus (Basis e) von AUSDRUCK oder von $_, wenn AUSDRUCK nicht angegeben wird.

lstat

lstat DATEIHANDLE
lstat AUSDRUCK
lstat

lstat entspricht der Funktion stat, bis auf die Tatsache, dass sie statistische Informationen für einen symbolischen Link und nicht für die Datei, auf die der Link verweist, zurückliefert. Wenn AUSDRUCK weggelassen wird, wird lstat auf den Wert in $_ angewendet.

map

map BLOCK LISTE
map AUSDRUCK, LISTE

map stellt eine Alternative zu foreach dar, wenn es darum geht, eine Operation auf jedes Element in einer Liste auszuführen. Die Funktion kann in zwei Formen aufgerufen werden. Der folgende Code demonstriert, wie Sie alle Operationen in einem Codeblock auf eine Liste anwenden können:

@rueckwaerts_worte = map {
lc;
reverse;
} @worte;

Das obige Beispiel dreht alle Elemente in dem Array @worte um und konvertiert sie in Kleinbuchstaben. Die Ergebnisse von map werden in einem Listenkontext zurückgegeben, weshalb ich sie einem Array zuweise. Beachten Sie, dass jedes Element zur Bearbeitung der Variablen $_ zugewiesen wird. Das ist der Grund, warum ich die Funktionen im Codeblock ohne Argumente verwenden kann. Um eine einzige Operation auf jedes Element einer Liste durchzuführen, wird map folgendermaßen aufgerufen:

@neueliste = map(uc, @alteliste);

Auffällig ist, dass bei Anwendung einer einzelnen Operation die Operation mit Komma von der zu verarbeitenden Liste getrennt wird.

mkdir

mkdir DATEINAME, MODUS

mkdir wird verwendet, um ein neues Verzeichnis anzulegen, dessen Name in DATEINAME angegeben wird. Sie sollten die Zugriffsrechte für das Verzeichnis mit MODUS setzen. MODUS sollte im üblichen Oktalformat angegeben werden (eine reine Zahl, nicht von Anführungszeichen umschlossen) und das SUID-Bit enthalten.

msgctl

msgctl ID, CMD, ARG

msgctl ruft den Systemaufruf msgctl(2) auf. Diese Funktion ist nur auf Maschinen verfügbar, die das System V IPC unterstützen.

msgget

msgget SCHLÜSSEL, FLAGS

Ruft die System V IPC-Funktion msgget auf und liefert die ID der Nachrichtenwarteschlange oder im Falle eines Fehlers undefined zurück.

msgrcv

msgrcv ID, VAR, GROESSE, TYP, FLAGS

Ruft die System V IPC-Funktion msgrcv auf, um eine Nachricht von der Nachrichtenwarteschlange ID zu empfangen, die in der Variablen VAR gespeichert wird, mit einer maximalen Größe von GROESSE. Liefert im Erfolgsfall wahr zurück oder im Falle eines Fehlers falsch.

msgsnd

msgsnd ID, MLD, FLAGS

Ruft die System V IPC-Funktion msgsnd auf, um MLD an die Nachrichtenwarteschlange, die durch ID spezifiziert ist, zu senden. Liefert im Erfolgsfall wahr zurück oder im Falle eines Fehlers falsch.

my

my AUSDRUCK

my wird verwendet, um die aufgelisteten Variablen einem Gültigkeitsbereich zuzuordnen, der lokal zu dem aktuellen Block, zu eval{}, zur Subroutine oder zur importierten Datei ist. Wird mehr als eine Variable angegeben, müssen die Variablen in Klammern stehen.

next

next LABEL
next

Wenn das Programm in einer Schleife auf den Befehl next stößt, springt die Programmausführung direkt zum nächsten Schleifendurchlauf.

no

no MODULE LISTE

Das no-Modul ist das Gegenstück zu dem use-Operator. Ausführlichere Informationen dazu finden Sie in der perlobj-Manpage.

oct

oct AUSDRUCK

oct liest AUSDRUCK als einen oktalen String ein und liefert den zugehörigen Dezimalwert zurück, es sei denn der String beginnt mit 0x, was bedeutet, dass der String als Hexadezimalwert interpretiert wird. Wird AUSDRUCK weggelassen, liest die Funktion $_ ein.

open

open (DATEIHANDLE, AUSDRUCK)

Die open-Funktion öffnet die Datei, die in AUSDRUCK spezifiziert wird, und weist sie DATEIHANDLE zu. Wenn AUSDRUCK weggelassen wird, wird angenommen, dass eine Variable mit dem gleichen Namen wie DATEIHANDLE den Namen der zu öffnenden Datei enthält.

Indem Sie < vor den Dateinamen setzen, können Sie die Datei für die Eingabe öffnen, und indem Sie ein > davorsetzen, öffnen Sie die Datei für die Ausgabe. Um Daten an die Ausgabedatei anzuhängen, anstatt sie zu überschreiben, müssen Sie zwei >>- Zeichen vor den Dateinamen setzen. Um einen Datei-Handle mit einer Pipe anstatt der Standardeingabe oder -ausgabe zu öffnen, können Sie das Pipe-Zeichen (|) verwenden. Wenn Sie das |-Zeichen vor den Programmnamen setzen, öffnen Sie eine Pipe zu dem Programm, und wenn Sie das | nach dem Dateinamen setzen, öffnen Sie eine Pipe von dem Programm zu Ihrem Datei-Handle.

Weitere Informationen zu der open-Funktion finden Sie in Kapitel 15, »Dateien und E/A«.

opendir

opendir (VERZEICHNISHANDLE, AUSDRUCK)

Die Funktion opendir öffnet das in AUSDRUCK spezifizierte Verzeichnis für die Eingabe und weist es VERZEICHNISHANDLE zu. Aus dem Verzeichnis-Handle kann dann die Liste der Einträge in dem Verzeichnis gelesen werden. Beachten Sie, dass sich der Namensbereich für Verzeichnis-Handles nicht mit dem von Datei-Handles überschneidet.

ord

ord AUSDRUCK

Liefert den numerischen ASCII-Wert des ersten Zeichens von AUSDRUCK zurück. Wenn AUSDRUCK nicht angegeben wird, wird $_ verwendet.

pack

pack SCHABLONE, LISTE

pack übernimmt eine Liste von Werten, packt sie in eine binäre Struktur und liefert den String zurück, der diese Struktur enthält. SCHABLONE ist eine Liste von Zeichen, die die Reihenfolge und den Typ der Werte vorgibt.

Zeichen

Bedeutung

A

Ein ASCII-String, der mit Leerzeichen aufgefüllt wird.

a

Ein ASCII-String, der mit Nullen aufgefüllt wird.

b

Ein Bit-String (aufsteigende Bitreihenfolge wie vec()).

B

Ein Bit-String (absteigende Bitreihenfolge).

h

Ein Hexadezimal-String (niedriger Nibble zuerst).

H

Ein Hexadezimal-String (hoher Nibble zuerst).

c

Ein vorzeichenbehafteter char-Wert (signed).

C

Ein vorzeichenloser char-Wert (unsigned).

s

Ein vorzeichenbehafteter short-Wert.

S

Ein vorzeichenloser short-Wert. (Hier bedeutet »short« genau 16 Bit, was sich von dem »short« eines lokalen C-Compilers unterscheiden kann.)

i

Ein vorzeichenbehafteter Integer-Wert.

I

Ein vorzeichenloser Integer-Wert. (Hier ist »Integer« mindestens 32 Bit lang. Seine genaue Länge hängt davon ab, was ein lokaler C-Compiler unter »int« versteht, und kann sogar noch länger sein als das »long« in der nächsten Tabellenreihe.)

l

Ein vorzeichenbehafteter long-Wert. (Dieses »long« ist genau 32 Bit, was sich von dem »long« eines lokalen C-Compilers unterscheiden kann.)

L

Ein vorzeichenloser Integer-Wert.

n

Ein short-Wert in »Netzwerk«-Reihenfolge (big-endian)

N

Ein long-Wert in »Netzwerk«-Reihenfolge (big-endian)

v

Ein short-Wert in »VAX«-Reihenfolge (little-endian)

V

Ein long-Wert in »VAX«-Reihenfolge (little-endian). (Diese »shorts« und »longs« sind genau 16 Bit bzw. 32 Bit groß).

f

Fließkommazahl mit einfacher Genauigkeit im nativen Format.

d

Fließkommazahl mit doppelter Genauigkeit im nativen Format.

p

Ein Zeiger auf einen nullterminierten String.

P

Ein Zeiger auf eine Struktur (String fester Länge).

u

Ein uu-codierter String.

w

Ein BER-komprimierter Integer. Seine Bytes repräsentieren einen vorzeichenlosen Integer zur Basis 128, die signifkanteste Ziffer zuerst, mit so wenig Ziffern wie möglich. Das achte Bit (das High-Bit) ist in jedem Byte außer dem letzten gesetzt.

x

Ein Null-Byte.

X

Ein Byte nach vorne rücken (letztes Byte wird überschrieben)

@

Null-Auffüllung bis zur absoluten Position.

Tabelle A.1: Schablonensymbole für pack  

Jeder Buchstabe kann von einer Zahl gefolgt sein, die angibt, wie oft der Buchstabe wiederholt werden soll. Mit der Funktion unpack können Elemente wieder aus einer binären Struktur extrahiert werden.

package

package NAMENSBEREICH

Die package-Funktion legt fest, dass alle Variablen in dem innersten Block, Subroutine, eval oder Datei, zu NAMENSBEREICH gehören. Weitere Informationen finden Sie in der perlmod-Manpage.

pipe

pipe LESEHANDLE, SCHREIBHANDLE

pipe öffnet eine Pipe von LESEHANDLE zu SCHREIBHANDLE, wie der Systemaufruf des gleichen Namens.

pop

pop ARRAY

Die pop-Funktion entfernt das letzte Element in einem Array (verkürzt es um ein Element) und liefert es als skalaren Wert zurück. push (wird gleich besprochen) und pop sind sogenannte Stack- oder Stapel-Funktionen. Wenn Sie sich ein Array als einen Stapel Tabletts in einer Cafeteria vorstellen, wird mit pop das oberste Tablett vom Stapel entfernt.

pos

pos SKALAR

Liefert die Position in SKALAR zurück, an der die letzte m//g-Suche abgebrochen wurde. Wenn SKALAR nicht angegeben wird, wird $_ verwendet.

print

print DATEIHANDLE LISTE
print LISTE
print

Die print-Funktion wird dazu verwendet, die ihr im Listenkontext übergebenen Daten der Standardausgabe oder, wenn ein Datei-Handle spezifiziert wurde, diesem Datei- Handle zu übergeben. Wird keine Liste von auszugebenden Daten angegeben, wird standardmäßig der Inhalt von $_ ausgegeben. Beachten Sie, dass zwischen dem Datei- Handle und der Liste der auszugebenden Daten kein Komma stehen sollte. Um zum Beispiel einige Daten an das Datei-Handle DATEI auszugeben, würden Sie schreiben:

print DATEI $daten

oder:

print DATEI $daten, ' ', $mehr_daten, '\n';

printf

printf DATEIHANDLE LISTE
printf LISTE

printf wird verwendet, um die Ausgabe nach den Konventionen der sprintf- Funktion zu formatieren. Im wesentlichen ist

printf DATEIHANDLE FORMAT, LISTE;

identisch mit

print DATEIHANDLE sprintf(FORMAT, LISTE);

push

push ARRAY, LISTE

push wird verwendet, um ein Element an das Ende eines Arrays anzuhängen. Wenn Sie einen skalaren Wert in das Array »pushen«, wird das Array dadurch um ein Element länger, und der Wert wird dem letzten Element im Array zugewiesen. Stellen Sie sich den gleichen Stapel Tabletts aus unserem Beispiel zur pop-Funktion vor: In diesem Fall bewirkt die push-Funktion, dass ein Tablett oben auf den Stapel draufgelegt wird. Sie können auch mehrere Werte an ein Array anhängen, Sie müssen nur eine Liste als Argument für die push-Funktion angeben.

quotemeta

quotemeta AUSDRUCK
quotemeta

quotemeta liefert den Wert von AUSDRUCK zurück, wobei alle nichtalphanumerischen Zeichen mit Escape-Zeichen (Backslash) versehen sind. Verwendet $_, wenn AUSDRUCK weggelassen wurde.

rand

rand AUSDRUCK
rand

Die rand-Funktion liefert eine Zufallszahl zwischen 0 und AUSDRUCK. Wenn AUSDRUCK weggelassen wird, liefert die Funktion einen Wert zwischen 0 und 1 (1 nicht eingeschlossen). Unter srand erfahren Sie, wie Sie den Zufallszahlengenerator initialisieren.

read

read DATEIHANDLE, SKALAR, LAENGE, OFFSET
read DATEIHANDLE, SKALAR, LAENGE

Die read-Funktion wird verwendet, um eine beliebige Anzahl an Daten-Bytes von einem Datei-Handle in einen skalaren Wert zu lesen. Sie übernimmt vier Argumente: Datei-Handle, Skalar, Länge und Offset (Offset ist optional). Das Argument DATEIHANDLE gibt an, von welchem Datei-Handle die Daten zu lesen sind. Das Argument SKALAR definiert die Variable, der die Daten zugewiesen werden. LAENGE gibt an, wie viele Daten-Bytes gelesen werden, und OFFSET wird verwendet, wenn Sie die Daten nicht von Beginn des Strings an einlesen wollen, sondern erst ab einer späteren Position. Sehen Sie im folgenden ein Beispiel, das 1024 Byte vom 2048ten Byte an aus dem Datei-Handle DATEI einliest und der Variablen $chunk zuweist:

read DATEI, $chunk, 1024, 2048;

readdir

readdir VERZEICHNISHANDLE

readdir wird verwendet, um Einträge aus einem Verzeichnis zu lesen, das mit opendir geöffnet wurde. Wenn diese Funktion in einem skalaren Kontext verwendet wird, liefert sie den nächsten Eintrag in dem Verzeichnis zurück. In einem Listenkontext liefert sie alle übriggebliebenen Einträge im Verzeichnis. Wenn bereits alle Einträge in dem Verzeichnis gelesen wurden, lautet der Rückgabewert undefined.

readlink

readlink AUSDRUCK

Die readlink-Funktion liest den Wert eines symbolischen Links. Wenn auf der Plattform symbolische Links nicht implementiert sind, wird ein fataler Fehler zurückgeliefert. Wenn AUSDRUCK fortgelassen wird, wird der Wert in $_ verwendet.

recv

recv SOCKET, SKALAR, LAENGE, FLAGS

recv wird verwendet, um eine Nachricht auf einem Socket zu empfangen, wobei man sich der C-Funktion recvfrom bedient. Die Funktion empfängt LAENGE Bytes in der Variablen SKALAR von SOCKET. Dabei wird die Adresse des Absenders zurückgeliefert, es sei denn es liegt ein Fehler vor, in welchem Falle undefined zurückgeliefert wird. recv übernimmt die gleichen Flags wie der gleichlautende Systemaufruf.

redo

redo LABEL
redo

redo startet den aktuellen Schleifenblock neu, ohne die Testbedingung der Schleife neu zu bewerten. Wenn LABEL nicht angegeben wird, wirkt redo auf den innersten Block.

ref

ref AUSDRUCK

ref liefert wahr zurück, wenn AUSDRUCK eine Referenz ist, im anderen Falle falsch. Wird AUSDRUCK nicht angegeben, wird $_ verwendet.

rename

rename ALTERNAME, NEUERNAME

Die rename-Funktion ändert den Namen der Datei ALTERNAME in NEUERNAME.

require

require AUSDRUCK

Die Funktion require wird meist dazu verwendet, eine externe Perl-Datei in das aktuelle Programm zu laden. Allgemein wird sie verwendet, um eine Art von Abhängigkeit von ihrem Argument zu schaffen. Wenn AUSDRUCK numerisch ist, wird die entsprechende Perl-Version für die Ausführung des Programms benötigt. Wenn kein Argument angegeben wird, wird $_ verwendet.

Um eine Datei zu laden, sollten Sie den Dateinamen als Argument zu require übergeben. Erfolgt die Übergabe des Dateinamens als einfaches Wort, wird automatisch .pl angehängt und :: durch / ersetzt, damit Standardmodule möglichst problemlos geladen werden können. Die benötigte Datei muss mit einer Anweisung enden, die als wahr ausgewertet wird. In der Regel enden Dateien, die für die Verwendung mit require erstellt werden, daher mit einer 1;-Anweisung.

reset

reset AUSDRUCK
reset

reset wird verwendet, um globale Variablen oder ??-Suchläufe zurückzusetzen, und steht häufig am Anfang einer Schleife oder in dem continue-Block am Ende einer Schleife. reset löscht die Werte aller Variablen, die mit den Zeichen aus AUSDRUCK beginnen. Wenn kein Argument angegeben wird, löscht reset alle ??-Suchläufe.

return

return AUSDRUCK

Die return-Funktion unterbricht die Ausführung von eval, einer Subroutine oder einer do-Datei und liefert den Wert von AUSDRUCK zurück. Wenn keine return- Anweisung vorgesehen wird, wird der Wert des zuletzt ausgewerteten Ausdrucks zurückgeliefert.

reverse

reverse LISTE

Die reverse-Funktion übernimmt einen skalaren Wert oder eine Liste als Argument. Im Falle eines skalaren Werts wird die Reihenfolge der Zeichen in dem Skalar umgedreht. So erzeugt zum Beispiel der Code reverse "rot"; den Rückgabewert tor. Wenn reverse eine Liste übergeben wird, so wird die Reihenfolge der Elemente in der Liste umgedreht. reverse ("rot", "gruen", "blau"); hat den Rückgabewert ("blau", "gruen", "rot").

rewinddir

rewinddir VERZEICHNISHANDLE

rewinddir setzt das Verzeichnis-Handle für ein mit readdir geöffnetes Verzeichnis zurück auf den ersten Eintrag in diesem Verzeichnis.

rmdir

rmdir DATEINAME

rmdir entfernt das in DATEINAME spezifizierte Verzeichnis, wenn es leer ist. Ist das Verzeichnis nicht leer oder die Funktion versagt aus einem anderen Grund, liefert sie 1 zurück. Im Erfolgsfall lautet der Rückgabewert 0. Wenn DATEINAME nicht angegeben wird, wird der Wert in $_ verwendet.

scalar

scalar AUSDRUCK

Erzwingt, dass der Wert in AUSDRUCK in einem skalaren Kontext ausgewertet wird, und liefert den Wert von AUSDRUCK zurück.

seek

seek DATEIHANDLE, OFFSET, VONWOAUS

seek wird verwendet, um die Position von DATEIHANDLE zu setzen. VONWOAUS kann einen der folgenden Werte annehmen: 0, um die Position auf POSITION zu setzen, 1, um POSITION zu der aktuellen Position hinzuzuaddieren, und 2, um die Position auf EOF plus POSITION zu setzen (aus offensichtlichen Gründen üblicherweise eine negative Zahl).

seekdir

seekdir VERZEICHNISHANDLE, POS

seekdir setzt die Position von VERZEICHNISHANDLE für die readdir-Funktion. POS muss ein Wert sein, der von telldir zurückgegeben wurde.

select

select DATEIHANDLE
select

Wenn der Aufruf ohne Argumente erfolgt, liefert select das gerade ausgewählte Datei-Handle zurück. Wenn Sie select ein Datei-Handle übergeben (oder einen Ausdruck, der einen Datei-Handle zurückliefert), wird dieser Datei-Handle zum Standard-Handle, an den alle Ausgaben gesendet werden. Mit anderen Worten: der Datei-Handle wird zur Standardausgabe. Wenn Sie also eine Reihe von Elementen in einem bestimmten Datei-Handle ausgeben wollen, ist es vielleicht einfacher, das Datei-Handle mit select einzurichten und dafür die Datei-Handle in den print- Anweisungen einzusparen.

semctl

semctl ID, SEMNUM, CMD, ARG

semctl ruft den System V IPC-Systemaufruf semctl(2) auf.

semget

semget SCHLÜSSEL, NSEMS, GROESSE, FLAGS

semget ruft den System-V-IPC-Systemaufruf semget(2) auf und liefert die Semaphore- ID zurück oder im Falle eines Fehlers undefined.

semop

semop KEY, OPSTRING

Diese Funktion ruft den System-V-IPC-Systemaufruf semop(2) auf, der Semaphore- Operationen wie Signalisieren und Warten ausführt.

send

send SOCKET, MLDNG, FLAGS, ZU
send SOCKET, MLDNG, FLAGS

Die send-Funktion sendet eine Nachricht über ein Socket. Wenn das Socket nicht verbunden ist, müssen Sie eine Adresse angeben, an die gesendet werden soll. Die Funktion übernimmt die gleichen Flags wie der Systemaufruf send und liefert die Anzahl der gesendeten Zeichen zurück, wenn sie erfolgreich ist (oder undefined, wenn ein Fehler aufgetreten ist).

setpgrp

setpgrp PID, PGRP

setpgrp setzt die Prozeßgruppe für die spezifizierte PID. Wenn als PID 0 angegeben wird, wird die Prozeßgruppe auf den aktuellen Prozeß gesetzt. Wenn setpgrp(2) nicht vom System unterstützt wird, wird ein fataler Fehler produziert.

setpriority

setpriority WELCHE, WER, PRIORITÄT

Setzt die Priorität für einen Prozeß, eine Prozeßgruppe oder einen Benutzer. Wenn setpriority(2) nicht unterstützt wird, führt dies zu einem fatalen Fehler.

setsockopt

setsockopt SOCKET, LEVEL, OPTNAME, OPTWERT

setsockopt wird verwendet, um die spezifizierte Option für ein Socket zu setzen. Bei Auftreten eines Fehlers wird undefined zurückgeliefert. Verwenden Sie undef für OPTWERT, um eine Option zu setzen, ohne einen Wert für diese Option anzugeben.

shift

shift ARRAY
shift

Die unshift-Funktion ist das Gegenstück zu der shift-Funktion. Sie entfernt das erste Element aus einem Array und liefert es als skalaren Wert zurück. Die Indizes der anderen Elemente im Array werden um eins dekrementiert, und das Array ist anschließend um ein Element kürzer als vorher. unshift wird in der Regel dazu verwendet, Argumente zu verarbeiten, die einer benutzerdefinierten Funktion übergeben wurden. Wie Sie wissen, werden Argumente mittels des Arrays @_ an Funktionen übergeben. Mit Befehlen wie $arg = unshift @_; können sie Funktionsargumente verarbeiten, ohne Gedanken an ihre Indizes verschwenden zu müssen.

shmctl

shmctl ID, CMD, ARG

shmctl ruft den System-V-Systemaufruf shmctl(2) auf.

shmget

shmget SCHLUESSEL, GROESSE, FLAGS

shmget ruft den System-V-Systemaufruf shmget(2) auf.

shmread

shmread ID, VAR, POS, GROESSE

shmread ruft den System-V-Systemaufruf shmread(2) auf.

shmwrite

shmwrite ID, STRING, POS, GROESSE

shmwrite ruft den System-V-Systemaufruf shmwrite(2) auf.

shutdown

shutdown SOCKET, WIE

shutdown schließt eine Socket-Verbindung. Dabei wird die Art des Schließens in WIE vorgegeben, dass der Syntax des Systemaufrufs shutdown entspricht.

sin

sin AUSDRUCK

Liefert den Sinus von AUSDRUCK oder von $_, wenn kein Argument übergeben wird.

sleep

sleep AUSDRUCK
sleep

sleep versetzt das Programm in einen Schlaf - für die in AUSDRUCK definierten Sekunden oder, falls kein Argument übergeben wird, für unbegrenzte Zeit. sleep kann mit dem SIGALRM-Signal unterbrochen werden. Die Funktion liefert die Anzahl der tatsächlich geschlafenen Sekunden zurück.

socket

socket SOCKET, DOMÄNE, TYP, PROTOKOL

Die socket-Funktion wird dazu verwendet, das Socket zu öffnen, das mit dem Datei- Handle SOCKET verbunden ist. DOMÄNE, TYP und PROTOKOL werden auf die gleiche Weise spezifiziert wie im socket-Systemaufruf. Sie sollten mit use Socket; das gleichnamige Modul importieren, bevor Sie die socket-Funktion aufrufen, um sicherzustellen, dass die korrekten Definitionen importiert sind.

socketpair

socketpair SOCKET1, SOCKET2, DOMÄNE, TYP, PAAR

Die Funktion socketpair erzeugt ein Paar unbenannter Sockets in der spezifizierten Domäne und mit dem spezifizierten Typ. Wenn die Funktion nicht implementiert ist, erfolgt ein fataler Fehler. Im Erfolgsfall liefert die Funktion wahr zurück.

sort

sort SUBNAME LISTE
sort BLOCK LISTE
sort LISTE

Die sort-Routine wird verwendet, um die Einträge einer Liste zu sortieren. Die Elemente der Liste werden sortiert zurückgegeben. Es gibt drei verschiedene Möglichkeiten, sort anzuwenden. Die einfachste davon ist der Aufruf von sort mit der zu sortierenden Liste als einzigem Argument. Der Rückgabewert ist eine Liste, die nach den Standardregeln für Stringvergleiche sortiert wurde.

Eine andere Möglichkeit besteht darin, eine Subroutine anzugeben, die die Elemente in der Liste vergleicht. Diese Subroutine liefert einen Integer kleiner als, gleich oder größer als Null zurück, je nachdem wie die Elemente in der Liste angeordnet werden sollen (in diesen Subroutinen werden besonders oft der <=>-Operator, der numerische Vergleiche durchführt, und der cmp-Operator, der für Stringvergleiche zuständig ist, verwendet).

Mit der im vorigen Absatz beschriebenen Subroutinen-Methode können Sie Listen nach anderen Kriterien als den standardmäßig vorgegebenen sortieren. Häufiger jedoch fügt man einfach nur einen Codeblock als erstes Argument an den Funktionsaufruf ein. Bestimmt ist Ihnen die sort-Funktion schon einmal in der folgenden Form begegnet:

@sortierteliste = sort { $a <=> $b } @liste;

Das obige Beispiel sortiert @liste in aufsteigender numerischer Reihenfolge und weist die zurückgelieferte Liste dem Array @sortierteliste zu. Die von der sort-Routine verglichenen Elemente werden zum Sortieren als $a und $b an den Codeblock (oder die Subroutine) gesendet. Der obige Codeblock vergleicht also die Elemente paarweise mit Hilfe des <=>-Operators. Betrachten wir noch ein paar weitere häufige Codeblocks, die zusammen mit der sort-Funktion verwendet werden:

# Sortiert in alphabetischer Reihenfolge (entspricht dem Standardverfahren)
@sortierteliste = sort {$a cmp $b } @liste;

# Sortiert in absteigender alphabetischer Reihenfolge
@sortierteliste = sort { $b cmp $a } @liste;

# Sortiert in numerischer Reihenfolge
@sortierteliste = sort { $a <=> $b } @liste;

# Sortiert in absteigender numerischer Reihenfolge
@ ortierteliste = sort { $b <=> $a } @liste;

splice

splice ARRAY, OFFSET, LAENGE, LISTE
splice ARRAY, OFFSET, LAENGE
splice ARRAY, OFFSET

splice ist das Schweizer Armeemesser unter den Array-Funktionen. Sie stellt eine Universalfunktion dar, um Elemente in ein Array einzufügen, daraus zu entfernen oder Elemente darin durch neue Werte zu ersetzen. splice kann mit bis zu vier Argumenten aufgerufen werden, von denen die letzten zwei optional sind. Das erste Argument sollte das Array sein, das mit splice bearbeitet werden soll. Das zweite Argument ist der Offset, der die Position im Array angibt, an der die Aktion stattfindet (wenn Sie vom hinteren Ende des Arrays abzählen wollen, geben Sie eine negative Zahl an). Das dritte - optionale - Argument ist die Anzahl der Elemente, die entfernt werden sollen (wenn Sie dieses Argument fortlassen, werden alle Elemente von dem Offset bis zum Ende des Arrays entfernt). Der Rest der Argumente ist eine Liste von Elementen, die am Offset eingefügt wird. Das alles ist etwas verwirrend, deshalb möchte ich es anhand eines Beispiels veranschaulichen. Um alle Elemente eines Arrays ab dem zweiten Element zu löschen (zur Erinnerung: Array-Indizes beginnen mit einer 0), können Sie folgenden Code eingeben:

splice(@array, 2);

Um einen neuen skalaren Wert zwischen dem zweiten und dritten Element in ein Array einzufügen, ohne etwas zu entfernen, würden sie schreiben:

splice(@array, 2, 0, "neuer wert");

Um das zweite und dritte Element in einem Array durch drei neue Elemente zu ersetzen, würden Sie folgendes eingeben:

splice(@array, 2, 2, "rot", "gruen", "blau");

Sie sollten sich darüber im klaren sein, dass nach dem Aufruf von splice für ein Array die Elemente in dem Array neu indiziert werden, um die Änderungen in der Struktur widerzuspiegeln. Demzufolge sind in unserem Beispiel oben alle Indizes für die Elemente nach dem von uns eingefügten Element um eins inkrementiert, da wir zwei Elemente durch drei ersetzt haben.

split

split /MUSTER/, AUSDRUCK, LIMIT
split /MUSTER/, AUSDRUCK
split /MUSTER/
split

Die split-Funktion dient dazu, einen String in mehrere Teilstrings zu zerlegen und diese Teile als Liste zurückzugeben. Sie übernimmt bis zu drei Argumente: ein Muster, gemäß dem zerlegt wird, den String, der zerlegt werden soll, und eine Obergrenze für die Anzahl an Listenelementen, die zurückgegeben werden sollen (optional). Wenn Sie keinen zu zerlegenden String als Argument übergeben, wird der in $_ gespeicherte Wert verwendet. Sie müssen auch nicht unbedingt ein Muster für die Zerlegung angeben. Wenn es fehlt, verwendet Perl die verschiedenen Whitespace-Zeichen als Begrenzer. Bei dem Musterargument handelt es sich immer um einen regulären Ausdruck der zwischen // steht. Um beispielsweise einen String an seinen Kommastellen zu zerlegen, sähe Ihr Muster so aus: /,/. Betrachten wir einige Beispiele:

# Leeres Muster zerlegt einen String in einzelne Zeichen 
@buchstaben = split //, "wort";
# Ein Leerzeichen im Muster zerlegt einen Satz in seine
# einzelnen Wörter
@worte = split / /, "Dies ist ein Satz";
# Dieses Muster zerlegt den Satz bei jedem Whitespace-Zeichen und
# nicht nur bei Leerzeichen (entspricht dem Standard)
@worte = split /\s/, "Dies ist ein Satz";
# Das dritte Argument stellt sicher, dass nur die ersten zwei Elemente, die
# aus dem String extrahiert wurden, in der Liste zurückgeliefert werden.
($erstes, $zweites) = split /\s/, "Dies ist ein Satz", 2;

sprintf

sprintf FORMAT, LISTE

Die Perl-Funktion sprintf wird verwendet, um Strings nach den Konventionen für die C-Funktion sprintf zu formatieren. Nachstehend sehen Sie eine Tabelle, die eine Liste der Konvertierungen für sprintf enthält:

Format

Wofür es steht

%%

Ein Prozentzeichen

%c

Ein Zeichen

%s

Einen String

%d

Einen vorzeichenbehafteten Integer (in Dezimalnotation)

%u

Einen vorzeichenlosen Integer (in Dezimalnotation)

%o

Einen vorzeichenlosen Integer (in Oktalnotation)

%x

Einen vorzeichenlosen Integer (in Hexadezimalnotation)

%e

Eine Fließkommazahl (in wissenschaftlicher Notation)

%f

Eine Fließkommazahl (in fixer Dezimalnotation)

%g

Eine Fließkommazahl (in %e- oder %f-Notation)

%X

Entspricht %x, verwendet jedoch Großbuchstaben für die Hexadezimalnotation

%E

Entspricht %e, verwendet jedoch ein großes E

%G

Entspricht %g, verwendet jedoch ein großes G (falls anwendbar)

%p

Einen Zeiger, gibt die Speicherposition des Perl-Wertes in hexadezimaler Notation aus

%n

Speichert die Anzahl der bisher ausgegebenen Zeichen in der nächsten Variablen der Parameterliste

Tabelle A.2: sprintf-Formate  

Weitere Informationen zu den Konventionen für sprintf finden Sie in der Manpage zu printf(3).

sqrt

sqrt AUSDRUCK

sqrt liefert die Quadratwurzel von AUSDRUCK oder, wenn AUSDRUCK fehlt, von $_ zurück.

srand

srand AUSDRUCK

srand initialisiert den Zufallszahlengenerator von Perl. Wenn Sie AUSDRUCK fortlassen, wird srand(time) verwendet. Diese Funktion sollten Sie nur einmal in Ihrem Programm verwenden.

stat

stat DATEIHANDLE

Die stat-Funktion trägt Informationen über die in DATEIHANDLE angegebene Datei zusammen und liefert eine Liste dieser Informationen zurück. Diese Funktion kann auch einen Ausdruck, der einen Dateinamen enthält, statt eines geöffneten Datei- Handles übernehmen. Wird kein Argument übergeben, verwendet stat den Wert von $_ als sein Argument. Die von stat zurückgelieferten Daten stehen in einer Liste und umfassen:

Werfen wir einen kurzen Blick auf die von stat zurückgelieferten Werte. Folgendermaßen würde man eine Liste, die von stat zurückgegeben wurde, einer Gruppe von Variablen zuweisen:

($dev,$inode,$mode,$uid,$gid,$rdev,
$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat $filename;

study

study SKALAR
study

study nimmt sich Zeit, um SKALAR (oder $_, wenn SKALAR nicht angegeben wurde) zu studieren - mit dem Ziel, zukünftige Musterabgleiche auf dem Wert effizienter zu machen. Ob dies letzlich Zeit spart oder nicht, hängt davon ab, wie viele Musterabgleiche Sie machen wollen und welcher Art diese Abgleiche sind.

substr

substr AUSDRUCK, OFFSET, LAENGE
substr AUSDRUCK, OFFSET

substr wird verwendet, um eine Folge von Zeichen aus einem String zu extrahieren. Diese Funktion übernimmt drei Argumente, von denen das letzte optional ist. Die Argumente sind der Ausdruck, aus dem die Zeichen extrahiert werden sollen (kann ein skalarer Wert, eine Variable oder ein Aufruf an eine andere Funktion sein), die Position, an der mit dem Extrahieren der Zeichen begonnen werden soll, und optional die Anzahl der zu extrahierenden Zeichen. So liefert zum Beispiel der Aufruf substr("foobar", 3, 2); die Zeichenfolge ba zurück. Wenn Sie die Längenangabe (LAENGE) fortlassen, also substr("foobar", 3);, lautet der Rückgabewert bar. Sie können auch einen negativen Offsetwert verwenden. Dann wird die Position durch Rückwärtszählen vom Stringende an ermittelt. Das Beispiel substr("foobar", -4, 2); liefert ob zurück.

symlink

symlink ALTEDATEI, NEUEDATEI

Die Funktion symlink dient dazu, einen symbolischen Link von ALTEDATEI zu NEUEDATEI herzustellen. symlink löst einen fatalen Fehler aus, wenn das System symlink nicht unterstützt.

syscall

syscall LISTE

syscall ruft den Systembefehl auf, der als erstes Argument in LISTE spezifziert wurde. Die restlichen Elemente in LISTE werden dem Systembefehl als Argumente übergeben.

sysopen

sysopen DATEIHANDLE, DATEINAME, MODUS
sysopen DATEIHANDLE, DATEINAME, MODUS, PERMS

Öffnet die in DATEINAME spezifizierte Datei und verbindet sie mit DATEIHANDLE. Wenn die Datei noch nicht existiert, wird sie erzeugt.

sysread

sysread DATEIHANDLE, SKALAR, LAENGE, OFFSET
sysread DATEIHANDLE, SKALAR, LAENGE

Liest mit Hilfe des Systembefehls read(2) LAENGE-Bytes aus DATEIHANDLE in SKALAR ein. Zurückgeliefert wird die Anzahl der eingelesenen Bytes oder undefined, wenn ein Fehler auftrat. Verwenden Sie OFFSET, wenn Sie die eingelesenen Bytes nicht an den Anfang des Strings, sondern eine um OFFSET-Bytes verschobene Position schreiben wollen.

sysseek

sysseek DATEIHANDLE, POSITION, VONWOAUS

Ähnlich der seek-Funkton. Allerdings wird der Systemaufruf lseek(2) anstelle von fseek(2) verwendet.

system

system LISTE

Die system-Funktion entspricht dem Aufruf exec LISTE, mit der Ausnahme, dass sie in einen neuen Prozeß verzweigt und in diesem Prozeß die Befehle in LISTE ausführt und dann zurückkehrt.

syswrite

syswrite DATEIHANDLE, SKALAR, LAENGE, OFFSET
syswrite DATEIHANDLE, SKALAR, LAENGE

syswrite versucht mit Hilfe des Systemaufrufs write(2) LAENGE-Bytes der Daten aus der Variablen SKALAR in DATEIHANDLE zu schreiben. Zurückgeliefert wird die Anzahl der geschriebenen Bytes oder, im Falle eines Fehlers, undefined.

tell

tell DATEIHANDLE

tell liefert die aktuelle Position für das spezifizierte Datei-Handle zurück. Wenn kein Datei-Handle angegeben wird, enthält der Rückgabewert die Position der zuletzt gelesenen Datei.

telldir

telldir VERZEICHNISHANDLE

telldir liefert die aktuelle Position in dem angegeben Verzeichnis-Handle.

tie

tie VARIABLE, KLASSENNAME, LISTE

tie bindet eine Variable an eine Paketklasse, die eine Implementierung für die Variable bereitstellt. VARIABLE ist der Name der zu bindenden Variablen und KLASSENNAME der Name der Klasse, die Objekte des korrekten Typs implementiert. Alle zusätzlichen Argumente werden der new-Methode der Klasse übergeben.

tied

tied VARIABLE

Falls VARIABLE an ein Paket gebunden ist, liefert tied eine Referenz auf das der VARIABLE zugrundeliegende Objekt zurück. Ist die Variable nicht gebunden, lautet der Rückgabewert undefined.

time

time

Die time-Funktion liefert die Anzahl an Sekunden zurück, die seit Beginn des systemspezifischen Referenzdatums verstrichen sind. Dieser Zeitpunkt liegt auf den meisten Systemen bei 00:00:00 UTC, 1. Januar, 1970 und auf dem Macintosh- Betriebssystem bei 00:00:00 1. Januar 1904. Der zurückgelieferte Wert wird meistens localtime oder gmtime zur Formatierung übergeben.

times

times

times liefert ein Array mit vier Elementen zurück, das den Benutzer und die Systemzeiten für den aktuellen Prozeß und dessen Kinder enthält. Hier ein Beispiel:

($user, $system, $cuser, $csystem) = times;

truncate

truncate DATEIHANDLE, LAENGE
truncate AUSDRUCK, LAENGE

Verkürzt die Datei, die durch DATEIHANDLE oder AUSDRUCK spezifiziert wurde, auf die in LAENGE definierte Länge. Wenn truncate auf dem System nicht implementiert ist, wird ein fataler Fehler ausgelöst.

uc

uc AUSDRUCK

Im Gegensatz zu lc, das alle Buchstaben in einem String in Kleinbuchstaben konvertiert, konvertiert uc alle Buchstaben eines Strings in Großbuchstaben.

ucfirst

ucfirst AUSDRUCK

Liefert AUSDRUCK zurück, nachdem das erste Zeichen in einen Großbuchstaben konvertiert wurde.

umask

umask AUSDRUCK

umask wird verwendet, um die Standard-umask-Maske für den Prozeß zu setzen. Die Funktion übernimmt eine Oktalzahl (keinen String von Ziffern). Die Funktion umask ist nützlich, wenn Ihr Programm eine Reihe von Dateien erzeugt. Wenn AUSDRUCK fortgelassen wird, liefert umask die aktuelle umask-Maske zurück.

undef

undef AUSDRUCK

undef wird verwendet, um den Wert einer Variablen zu löschen. Die Funktion kann auf einer Skalarvariablen, einem ganzen Array oder einem ganzen Hash angewendet werden.

unlink

unlink (LISTE)

unlink löscht die Dateien, die ihr via LISTE übergeben wurden. Rückgabewert ist die Anzahl der Dateien, die erfolgreich gelöscht wurden. Wurde unlink keine Liste übergeben, wird $_ als Argument verwendet.

unpack

unpack SCHABLONE, AUSDRUCK

unpack ist das Gegenstück zu pack. Sie übernimmt eine Datenstruktur und übersetzt sie in eine Liste, die auf einer SCHABLONE basiert. Das SCHABLONEN-Format ist das gleiche wie für pack.

unshift

unshift ARRAY, LISTE

Die unshift-Funktion fügt einen skalaren Wert als das erste Element in ein Array ein und verschiebt die Indizes aller folgenden Elemente im Array um eins.

utime

utime LISTE

utime ist das Perl-Äquivalent zu dem Unix-Befehl touch. Die Funktion setzt die Zugriffs- und Änderungszeiten für eine Liste von Dateien. Die ersten zwei Argumente müssen die numerischen Zugriffs- und Änderungszeiten für die Dateien enthalten. Bei allen folgenden Argumenten wird davon ausgegangen, dass es sich um Dateien handelt, deren Zugriffs- und Änderungszeiten geändert werden sollen. Die Funktion liefert die Zahl der Dateien zurück, die erfolgreich bearbeitet wurden.

values

values HASH

Diese Funktion liefert ein Array zurück, das die Werte (values) für die Elemente aus einem Hash enthält. Die Funktion ist damit das Pendant der Funktion keys, die ein Array der Schlüssel aus einem Hash zurückliefert.

vec

vec AUSDRUCK, OFFSET, BITS

vec behandelt einen String (spezifiziert in AUSDRUCK) als einen Vektor von vorzeichenlosen Integerwerten und liefert den Wert des von OFFSET spezifizierten Bitfeldes zurück.

wait

wait

wait wartet einfach auf das Ende eines Kindprozesses und liefert dann die PID dieses Prozesses zurück.

waitpid

waitpid PID, FLAGS

Die Funktion waitpid wartet darauf, dass ein bestimmter Kindprozeß (spezifiziert in PID) beendet wird, und liefert dann die Prozeß-ID für den toten Prozeß zurück.

wantarray

wantarray

wantarray liefert wahr zurück, wenn der Kontext der gerade ausgeführten Subroutine einen Listenwert benötigt. Wenn die Funktion in einem skalaren oder leeren Kontext aufgerufen wird, liefert sie falsch zurück. Um zu vermeiden, dass die ganze Subroutine ausgeführt wird, können Sie folgende Anweisung verwenden, die sicherstellt, dass die Subroutine in einem Listenkontext aufgerufen wurde:

return unless defined wantarray;

warn

warn LISTE

warn wird verwendet, um eine Nachricht an die Standardfehlerausgabe zu schicken, ohne dass dabei das Programm beendet wird. Abgesehen von der Tatsache, dass das Programm die Ausführung nicht unterbricht, entspricht diese Funktion der Funktion die.

write

write DATEIHANDLE

Die write-Funktion wird verwendet, um Daten mit Hilfe einer Schablone auszugeben, die mit der format-Funktion definiert wurde. Weitere Informationen hierzu entnehmen Sie bitte der perlform-Manpage.



vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


© Markt&Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH